import { request } from "../../request/index.js";

Page({

  data: {
    //左侧菜单数据
    leftMenuList: [],
    //右侧数据
    rightContent: [],
    //被点击的左侧菜单
    currentIndex: 0,
    scrollTop: 0
  },

  //接口的返回数据
  Cates: [],

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    /* 发送数据前 判断下本地存储中有没有旧数据 */
    /* 没有旧数据-> 发送请求获取数据 */
    /*有旧数据，并且每过期，使用本地数据 */
    //1， 获取本地存储中的数据
    const CatesLocal = wx.getStorageSync("cates");
    if (!CatesLocal) {
      //不存在，发送请求获取数据
      this.getCates();
    } else {
      //有旧数据,定义过期时间 10s
      if (Date.now() - CatesLocal.time > 1000 * 10) {
        //重新发送请求
        this.getCates();
      } else {
        //使用旧数据
        console.log("使用本地存储中的数据渲染页面")
        this.Cates = CatesLocal.data;
        //构造左边的大菜单数据
        let leftMenuList = this.Cates.map(v => v.cat_name);
        //构造右边的商品数据
        let rightContent = this.Cates[0].children;
        this.setData({
          leftMenuList,
          rightContent
        })
      }

    }

  },

  //获取分类数据
  async getCates() {
    //使用es7的async await 来发送异步请求
    const res = await request({ url: "/categories" });
    this.Cates = res;
    //把接口数据存入本地存储
    wx.setStorage({
      key: 'cates',
      data: { time: Date.now(), data: this.Cates }
    });


    //构造左边的大菜单数据
    let leftMenuList = this.Cates.map(v => v.cat_name);
    //构造右边的商品数据
    let rightContent = this.Cates[0].children;
    this.setData({
      leftMenuList,
      rightContent
    })
    // request({
    //   url:"/categories"
    // })
    // .then(res=>{
    //     this.Cates=res.data.message;
    //     //把接口数据存入本地存储
    //     wx.setStorage({
    //       key: 'cates',
    //       data: {time:Date.now(),data:this.Cates}
    //     });


    //     //构造左边的大菜单数据
    //     let leftMenuList=this.Cates.map(v=>v.cat_name);
    //     //构造右边的商品数据
    //     let rightContent=this.Cates[0].children;
    //     this.setData({
    //       leftMenuList,
    //       rightContent
    //     })

    // })
  },

  //左侧菜单栏点击事件
  handleItemTap(e) {
    /*获取被点击的标题身上的索引*/
    /*给data中的currentIndex赋值 */
    const index = e.currentTarget.dataset.index;
    //构造右边的商品数据
    let rightContent = this.Cates[index].children;
    //重新设置右侧内容scroll-view标签的距离顶部的距离
    this.setData({
      currentIndex: index,
      rightContent,
      scrollTop: 0
    })

  }
})